Do not modify associated device for non-master devices on dispose
authorCarlos Garnacho <carlosg@gnome.org>
Mon, 24 Jan 2011 18:55:41 +0000 (19:55 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 24 Jan 2011 18:55:41 +0000 (19:55 +0100)
commit8fdd8dbc3517b8b002714a2bfa19b2b060da3d05
tree71df446a4bc724f834f3174c672127b4d22f7940
parente3be6fc24fea7c1453e5821de764c117ce5f34d1
Do not modify associated device for non-master devices on dispose

Only master devices must modify the associated device to separate
a pointer/keyboard pair, slave devices must only call
_gdk_device_remove_slave().

Fixes bugĀ 639767 - password not accepted in gnome-screensaver dialog,
reported by Frederic Crozat. On VT-switch, the X server removes its
grab on HW devices, the effect on clients is that slave devices
disappear, and these were mistakenly mangling the master device
hierarchy. so gdk_device_get_associated_device() on the client
pointer wouldn't return the paired keyboard anymore.

The final effect is that gtkplug-x11 wasn't setting a keyboard to
its generated events.
gdk/gdkdevice.c